package com.zelix;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.BitSet;

public class de extends kd
{

    static de g[];
    private static String z[];

    de(int i)
        throws IOException, tb
    {
        super(i);
    }

    private sn a(int i, wn awn[], wn awn1[], int k, e1 e1_1)
    {
        wn awn2[] = wn.a(i + 1);
        System.arraycopy(awn, 0, awn2, 0, i);
        awn2[i] = awn1[k];
        if(e1_1 != null && !e1_1.get(k))
        {
            e1_1 = (e1)e1_1.clone();
            e1_1.set(k);
        }
        return new sn(awn2, awn1, e1_1);
    }

    private sn a(int i, wn awn[], wn awn1[], wn wn1, wn wn2, e1 e1_1)
    {
        wn awn2[] = wn.a(i - 1);
        System.arraycopy(awn, 0, awn2, 0, i - 2);
        awn2[i - 2] = wn2;
        return new sn(awn2, awn1, e1_1);
    }

    private sn b(int i, wn awn[], wn awn1[], int k, e1 e1_1)
    {
        wn awn2[] = wn.a(i - 1);
        int i1 = awn1.length;
        wn awn3[] = wn.a(i1);
        System.arraycopy(awn1, 0, awn3, 0, i1);
        boolean flag = false;
        if(awn3[k].equals(wn.o) && (awn3[k - 1].equals(wn.j) || awn3[k - 1].equals(wn.l)))
        {
            flag = true;
            awn3[k - 1] = wn.m;
        }
        boolean flag1 = false;
        if(awn3[k].equals(wn.j) || awn3[k].equals(wn.l))
        {
            flag1 = true;
            awn3[k + 1] = wn.m;
        }
        awn3[k] = awn[i - 1];
        System.arraycopy(awn, 0, awn2, 0, i - 1);
        if(e1_1 != null && !e1_1.get(k))
        {
            e1_1 = (e1)e1_1.clone();
            e1_1.set(k);
            if(flag)
                e1_1.set(k - 1);
            if(flag1)
                e1_1.set(k + 1);
        }
        return new sn(awn2, awn3, e1_1);
    }

    public sn a(sn sn1, boolean flag, boolean flag1, um um)
        throws ub
    {
        wn awn[] = sn1.f();
        wn awn1[] = sn1.c();
        Object obj = null;
        int i = awn1.length;
        e1 e1_1 = sn1.e();
        switch(super.d)
        {
        case 0: // '\0'
            return new sn(awn1, awn, e1_1);

        case 1: // '\001'
            wn awn2[] = wn.a(i + 1);
            System.arraycopy(awn1, 0, awn2, 0, i);
            awn2[i] = wn.n;
            return new sn(awn2, awn, e1_1);

        case 26: // '\032'
            return b(i, awn1, awn, wn.i, 0, e1_1);

        case 27: // '\033'
            return b(i, awn1, awn, wn.i, 1, e1_1);

        case 28: // '\034'
            return b(i, awn1, awn, wn.i, 2, e1_1);

        case 29: // '\035'
            return b(i, awn1, awn, wn.i, 3, e1_1);

        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
            return a(i, awn1, awn, wn.i, e1_1);

        case 9: // '\t'
        case 10: // '\n'
            return a(i, awn1, awn, wn.j, e1_1);

        case 30: // '\036'
            return b(i, awn1, awn, wn.j, 0, e1_1);

        case 31: // '\037'
            return b(i, awn1, awn, wn.j, 1, e1_1);

        case 32: // ' '
            return b(i, awn1, awn, wn.j, 2, e1_1);

        case 33: // '!'
            return b(i, awn1, awn, wn.j, 3, e1_1);

        case 11: // '\013'
        case 12: // '\f'
        case 13: // '\r'
            return a(i, awn1, awn, wn.k, e1_1);

        case 34: // '"'
            return b(i, awn1, awn, wn.k, 0, e1_1);

        case 35: // '#'
            return b(i, awn1, awn, wn.k, 1, e1_1);

        case 36: // '$'
            return b(i, awn1, awn, wn.k, 2, e1_1);

        case 37: // '%'
            return b(i, awn1, awn, wn.k, 3, e1_1);

        case 14: // '\016'
        case 15: // '\017'
            return a(i, awn1, awn, wn.l, e1_1);

        case 38: // '&'
            return b(i, awn1, awn, wn.l, 0, e1_1);

        case 39: // '\''
            return b(i, awn1, awn, wn.l, 1, e1_1);

        case 40: // '('
            return b(i, awn1, awn, wn.l, 2, e1_1);

        case 41: // ')'
            return b(i, awn1, awn, wn.l, 3, e1_1);

        case 42: // '*'
            return a(i, awn1, awn, 0, e1_1);

        case 43: // '+'
            return a(i, awn1, awn, 1, e1_1);

        case 44: // ','
            return a(i, awn1, awn, 2, e1_1);

        case 45: // '-'
            return a(i, awn1, awn, 3, e1_1);

        case 46: // '.'
            return a(i, awn1, awn, wn.y, wn.i, e1_1);

        case 47: // '/'
            return a(i, awn1, awn, wn.z, wn.j, e1_1);

        case 48: // '0'
            return a(i, awn1, awn, wn.A, wn.k, e1_1);

        case 49: // '1'
            return a(i, awn1, awn, wn.B, wn.l, e1_1);

        case 50: // '2'
            wn awn3[] = wn.a(i - 1);
            System.arraycopy(awn1, 0, awn3, 0, i - 2);
            awn3[i - 2] = awn1[i - 2].a();
            return new sn(awn3, awn, e1_1);

        case 51: // '3'
            return a(i, awn1, awn, wn.u, wn.i, e1_1);

        case 52: // '4'
            return a(i, awn1, awn, wn.w, wn.i, e1_1);

        case 53: // '5'
            return a(i, awn1, awn, wn.x, wn.i, e1_1);

        case 59: // ';'
            return c(i, awn1, awn, wn.i, 0, e1_1);

        case 60: // '<'
            return c(i, awn1, awn, wn.i, 1, e1_1);

        case 61: // '='
            return c(i, awn1, awn, wn.i, 2, e1_1);

        case 62: // '>'
            return c(i, awn1, awn, wn.i, 3, e1_1);

        case 63: // '?'
            return a(i, awn1, awn, wn.j, 0, e1_1);

        case 64: // '@'
            return a(i, awn1, awn, wn.j, 1, e1_1);

        case 65: // 'A'
            return a(i, awn1, awn, wn.j, 2, e1_1);

        case 66: // 'B'
            return a(i, awn1, awn, wn.j, 3, e1_1);

        case 67: // 'C'
            return c(i, awn1, awn, wn.k, 0, e1_1);

        case 68: // 'D'
            return c(i, awn1, awn, wn.k, 1, e1_1);

        case 69: // 'E'
            return c(i, awn1, awn, wn.k, 2, e1_1);

        case 70: // 'F'
            return c(i, awn1, awn, wn.k, 3, e1_1);

        case 71: // 'G'
            return a(i, awn1, awn, wn.l, 0, e1_1);

        case 72: // 'H'
            return a(i, awn1, awn, wn.l, 1, e1_1);

        case 73: // 'I'
            return a(i, awn1, awn, wn.l, 2, e1_1);

        case 74: // 'J'
            return a(i, awn1, awn, wn.l, 3, e1_1);

        case 75: // 'K'
            return b(i, awn1, awn, 0, e1_1);

        case 76: // 'L'
            return b(i, awn1, awn, 1, e1_1);

        case 77: // 'M'
            return b(i, awn1, awn, 2, e1_1);

        case 78: // 'N'
            return b(i, awn1, awn, 3, e1_1);

        case 80: // 'P'
            wn awn4[] = wn.a(i - 3);
            System.arraycopy(awn1, 0, awn4, 0, i - 3);
            return new sn(awn4, awn, e1_1);

        case 81: // 'Q'
            wn awn5[] = wn.a(i - 3);
            System.arraycopy(awn1, 0, awn5, 0, i - 3);
            return new sn(awn5, awn, e1_1);

        case 82: // 'R'
            wn awn6[] = wn.a(i - 3);
            System.arraycopy(awn1, 0, awn6, 0, i - 3);
            return new sn(awn6, awn, e1_1);

        case 83: // 'S'
            wn awn7[] = wn.a(i - 3);
            System.arraycopy(awn1, 0, awn7, 0, i - 3);
            return new sn(awn7, awn, e1_1);

        case 79: // 'O'
        case 84: // 'T'
        case 85: // 'U'
        case 86: // 'V'
            wn awn8[] = wn.a(i - 3);
            System.arraycopy(awn1, 0, awn8, 0, i - 3);
            return new sn(awn8, awn, e1_1);

        case 87: // 'W'
            if(i - 1 < 0)
            {
                throw new ub(z[2]);
            } else
            {
                wn awn9[] = wn.a(i - 1);
                System.arraycopy(awn1, 0, awn9, 0, i - 1);
                return new sn(awn9, awn, e1_1);
            }

        case 88: // 'X'
            if(i - 1 < 0)
                throw new ub(z[0]);
            if(sn.c(awn1[i - 1]))
            {
                wn awn10[] = wn.a(i - 1);
                System.arraycopy(awn1, 0, awn10, 0, i - 1);
                return new sn(awn10, awn, e1_1);
            }
            if(i - 2 < 0)
            {
                throw new ub(z[1]);
            } else
            {
                wn awn11[] = wn.a(i - 2);
                System.arraycopy(awn1, 0, awn11, 0, i - 2);
                return new sn(awn11, awn, e1_1);
            }

        case 89: // 'Y'
            wn awn12[] = wn.a(i + 1);
            System.arraycopy(awn1, 0, awn12, 0, i);
            awn12[i] = awn1[i - 1];
            return new sn(awn12, awn, e1_1);

        case 90: // 'Z'
            wn awn13[] = wn.a(i + 1);
            int k = awn13.length;
            System.arraycopy(awn1, 0, awn13, 0, i - 2);
            awn13[k - 3] = awn1[i - 1];
            awn13[k - 2] = awn1[i - 2];
            awn13[k - 1] = awn1[i - 1];
            return new sn(awn13, awn, e1_1);

        case 91: // '['
            wn awn14[] = wn.a(i + 1);
            int i1 = awn14.length;
            if(sn.c(awn1[i - 2]))
            {
                System.arraycopy(awn1, 0, awn14, 0, i - 2);
                awn14[i1 - 3] = awn1[i - 1];
                awn14[i1 - 2] = awn1[i - 2];
                awn14[i1 - 1] = awn1[i - 1];
                return new sn(awn14, awn, e1_1);
            } else
            {
                System.arraycopy(awn1, 0, awn14, 0, i - 3);
                awn14[i1 - 4] = awn1[i - 1];
                awn14[i1 - 3] = awn1[i - 3];
                awn14[i1 - 2] = awn1[i - 2];
                awn14[i1 - 1] = awn1[i - 1];
                return new sn(awn14, awn, e1_1);
            }

        case 92: // '\\'
            if(sn.c(awn1[i - 1]))
            {
                wn awn15[] = wn.a(i + 1);
                int j1 = awn15.length;
                System.arraycopy(awn1, 0, awn15, 0, i);
                awn15[j1 - 1] = awn1[i - 1];
                return new sn(awn15, awn, e1_1);
            } else
            {
                wn awn16[] = wn.a(i + 2);
                int k1 = awn16.length;
                System.arraycopy(awn1, 0, awn16, 0, i);
                awn16[k1 - 2] = awn1[i - 2];
                awn16[k1 - 1] = awn1[i - 1];
                return new sn(awn16, awn, e1_1);
            }

        case 93: // ']'
            if(sn.c(awn1[i - 1]))
            {
                wn awn17[] = wn.a(i + 1);
                int l1 = awn17.length;
                System.arraycopy(awn1, 0, awn17, 0, i - 2);
                awn17[l1 - 3] = awn1[i - 1];
                awn17[l1 - 2] = awn1[i - 2];
                awn17[l1 - 1] = awn1[i - 1];
                return new sn(awn17, awn, e1_1);
            } else
            {
                wn awn18[] = wn.a(i + 2);
                int i2 = awn18.length;
                System.arraycopy(awn1, 0, awn18, 0, i - 3);
                awn18[i2 - 5] = awn1[i - 2];
                awn18[i2 - 4] = awn1[i - 1];
                awn18[i2 - 3] = awn1[i - 3];
                awn18[i2 - 2] = awn1[i - 2];
                awn18[i2 - 1] = awn1[i - 1];
                return new sn(awn18, awn, e1_1);
            }

        case 94: // '^'
            if(sn.c(awn1[i - 1]))
                if(sn.c(awn1[i - 2]))
                {
                    wn awn19[] = wn.a(i + 1);
                    int j2 = awn19.length;
                    System.arraycopy(awn1, 0, awn19, 0, i - 2);
                    awn19[j2 - 3] = awn1[i - 1];
                    awn19[j2 - 2] = awn1[i - 2];
                    awn19[j2 - 1] = awn1[i - 1];
                    return new sn(awn19, awn, e1_1);
                } else
                {
                    wn awn20[] = wn.a(i + 1);
                    int k2 = awn20.length;
                    System.arraycopy(awn1, 0, awn20, 0, i - 3);
                    awn20[k2 - 4] = awn1[i - 1];
                    awn20[k2 - 3] = awn1[i - 3];
                    awn20[k2 - 2] = awn1[i - 2];
                    awn20[k2 - 1] = awn1[i - 1];
                    return new sn(awn20, awn, e1_1);
                }
            if(sn.c(awn1[i - 3]))
            {
                wn awn21[] = wn.a(i + 2);
                int l2 = awn21.length;
                System.arraycopy(awn1, 0, awn21, 0, i - 3);
                awn21[l2 - 5] = awn1[i - 2];
                awn21[l2 - 4] = awn1[i - 1];
                awn21[l2 - 3] = awn1[i - 3];
                awn21[l2 - 2] = awn1[i - 2];
                awn21[l2 - 1] = awn1[i - 1];
                return new sn(awn21, awn, e1_1);
            } else
            {
                wn awn22[] = wn.a(i + 2);
                int i3 = awn22.length;
                System.arraycopy(awn1, 0, awn22, 0, i - 4);
                awn22[i3 - 6] = awn1[i - 2];
                awn22[i3 - 5] = awn1[i - 1];
                awn22[i3 - 4] = awn1[i - 4];
                awn22[i3 - 3] = awn1[i - 3];
                awn22[i3 - 2] = awn1[i - 2];
                awn22[i3 - 1] = awn1[i - 1];
                return new sn(awn22, awn, e1_1);
            }

        case 95: // '_'
            wn awn23[] = wn.a(i);
            System.arraycopy(awn1, 0, awn23, 0, i - 2);
            awn23[i - 2] = awn1[i - 1];
            awn23[i - 1] = awn1[i - 2];
            return new sn(awn23, awn, e1_1);

        case 96: // '`'
        case 100: // 'd'
        case 104: // 'h'
        case 108: // 'l'
        case 112: // 'p'
        case 120: // 'x'
        case 122: // 'z'
        case 124: // '|'
        case 126: // '~'
        case 128: 
        case 130: 
            wn awn24[] = wn.a(i - 1);
            System.arraycopy(awn1, 0, awn24, 0, i - 2);
            awn24[i - 2] = wn.i;
            return new sn(awn24, awn, e1_1);

        case 97: // 'a'
        case 101: // 'e'
        case 105: // 'i'
        case 109: // 'm'
        case 113: // 'q'
        case 127: // '\177'
        case 129: 
        case 131: 
            wn awn25[] = wn.a(i - 1);
            System.arraycopy(awn1, 0, awn25, 0, i - 2);
            awn25[i - 2] = wn.j;
            return new sn(awn25, awn, e1_1);

        case 121: // 'y'
        case 123: // '{'
        case 125: // '}'
            wn awn26[] = wn.a(i - 1);
            System.arraycopy(awn1, 0, awn26, 0, i - 2);
            awn26[i - 2] = wn.j;
            return new sn(awn26, awn, e1_1);

        case 98: // 'b'
        case 102: // 'f'
        case 106: // 'j'
        case 110: // 'n'
        case 114: // 'r'
            wn awn27[] = wn.a(i - 1);
            System.arraycopy(awn1, 0, awn27, 0, i - 1);
            return new sn(awn27, awn, e1_1);

        case 99: // 'c'
        case 103: // 'g'
        case 107: // 'k'
        case 111: // 'o'
        case 115: // 's'
            wn awn28[] = wn.a(i - 1);
            System.arraycopy(awn1, 0, awn28, 0, i - 1);
            return new sn(awn28, awn, e1_1);

        case 116: // 't'
        case 145: 
        case 146: 
        case 147: 
            return new sn(awn1, awn, e1_1);

        case 117: // 'u'
            return new sn(awn1, awn, e1_1);

        case 118: // 'v'
            return new sn(awn1, awn, e1_1);

        case 119: // 'w'
            return new sn(awn1, awn, e1_1);

        case 133: 
            wn awn29[] = wn.a(i);
            System.arraycopy(awn1, 0, awn29, 0, i - 1);
            awn29[i - 1] = wn.j;
            return new sn(awn29, awn, e1_1);

        case 134: 
            wn awn30[] = wn.a(i);
            System.arraycopy(awn1, 0, awn30, 0, i - 1);
            awn30[i - 1] = wn.k;
            return new sn(awn30, awn, e1_1);

        case 135: 
            wn awn31[] = wn.a(i);
            System.arraycopy(awn1, 0, awn31, 0, i - 1);
            awn31[i - 1] = wn.l;
            return new sn(awn31, awn, e1_1);

        case 136: 
            wn awn32[] = wn.a(i);
            System.arraycopy(awn1, 0, awn32, 0, i - 1);
            awn32[i - 1] = wn.i;
            return new sn(awn32, awn, e1_1);

        case 137: 
            wn awn33[] = wn.a(i);
            System.arraycopy(awn1, 0, awn33, 0, i - 1);
            awn33[i - 1] = wn.k;
            return new sn(awn33, awn, e1_1);

        case 138: 
            wn awn34[] = wn.a(i);
            System.arraycopy(awn1, 0, awn34, 0, i - 1);
            awn34[i - 1] = wn.l;
            return new sn(awn34, awn, e1_1);

        case 139: 
            wn awn35[] = wn.a(i);
            System.arraycopy(awn1, 0, awn35, 0, i - 1);
            awn35[i - 1] = wn.i;
            return new sn(awn35, awn, e1_1);

        case 140: 
            wn awn36[] = wn.a(i);
            System.arraycopy(awn1, 0, awn36, 0, i - 1);
            awn36[i - 1] = wn.j;
            return new sn(awn36, awn, e1_1);

        case 141: 
            wn awn37[] = wn.a(i);
            System.arraycopy(awn1, 0, awn37, 0, i - 1);
            awn37[i - 1] = wn.l;
            return new sn(awn37, awn, e1_1);

        case 142: 
            wn awn38[] = wn.a(i);
            System.arraycopy(awn1, 0, awn38, 0, i - 1);
            awn38[i - 1] = wn.i;
            return new sn(awn38, awn, e1_1);

        case 143: 
            wn awn39[] = wn.a(i);
            System.arraycopy(awn1, 0, awn39, 0, i - 1);
            awn39[i - 1] = wn.j;
            return new sn(awn39, awn, e1_1);

        case 144: 
            wn awn40[] = wn.a(i);
            System.arraycopy(awn1, 0, awn40, 0, i - 1);
            awn40[i - 1] = wn.k;
            return new sn(awn40, awn, e1_1);

        case 148: 
            wn awn41[] = wn.a(i - 1);
            int j3 = awn41.length;
            System.arraycopy(awn1, 0, awn41, 0, i - 2);
            awn41[j3 - 1] = wn.i;
            return new sn(awn41, awn, e1_1);

        case 149: 
        case 150: 
            wn awn42[] = wn.a(i - 1);
            int k3 = awn42.length;
            System.arraycopy(awn1, 0, awn42, 0, i - 2);
            awn42[k3 - 1] = wn.i;
            return new sn(awn42, awn, e1_1);

        case 151: 
        case 152: 
            wn awn43[] = wn.a(i - 1);
            int l3 = awn43.length;
            System.arraycopy(awn1, 0, awn43, 0, i - 2);
            awn43[l3 - 1] = wn.i;
            return new sn(awn43, awn, e1_1);

        case 172: 
            return new sn(awn, e1_1);

        case 173: 
            return new sn(awn, e1_1);

        case 174: 
            return new sn(awn, e1_1);

        case 175: 
            return new sn(awn, e1_1);

        case 176: 
            return new sn(awn, e1_1);

        case 177: 
            return new sn(awn, e1_1);

        case 190: 
            wn awn44[] = wn.a(i);
            System.arraycopy(awn1, 0, awn44, 0, i - 1);
            awn44[i - 1] = wn.i;
            return new sn(awn44, awn, e1_1);

        case 191: 
            return sn1;

        case 194: 
        case 195: 
            wn awn45[] = wn.a(i - 1);
            System.arraycopy(awn1, 0, awn45, 0, i - 1);
            return new sn(awn45, awn, e1_1);

        case 16: // '\020'
        case 17: // '\021'
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 22: // '\026'
        case 23: // '\027'
        case 24: // '\030'
        case 25: // '\031'
        case 54: // '6'
        case 55: // '7'
        case 56: // '8'
        case 57: // '9'
        case 58: // ':'
        case 132: 
        case 153: 
        case 154: 
        case 155: 
        case 156: 
        case 157: 
        case 158: 
        case 159: 
        case 160: 
        case 161: 
        case 162: 
        case 163: 
        case 164: 
        case 165: 
        case 166: 
        case 167: 
        case 168: 
        case 169: 
        case 170: 
        case 171: 
        case 178: 
        case 179: 
        case 180: 
        case 181: 
        case 182: 
        case 183: 
        case 184: 
        case 185: 
        case 186: 
        case 187: 
        case 188: 
        case 189: 
        case 192: 
        case 193: 
        default:
            lx.b(false, super.d);
            return null;
        }
    }

    public final boolean b()
    {
        switch(super.d)
        {
        case 0: // '\0'
        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        case 9: // '\t'
        case 10: // '\n'
        case 11: // '\013'
        case 12: // '\f'
        case 13: // '\r'
        case 14: // '\016'
        case 15: // '\017'
        case 26: // '\032'
        case 27: // '\033'
        case 28: // '\034'
        case 29: // '\035'
        case 30: // '\036'
        case 31: // '\037'
        case 32: // ' '
        case 33: // '!'
        case 34: // '"'
        case 35: // '#'
        case 36: // '$'
        case 37: // '%'
        case 38: // '&'
        case 39: // '\''
        case 40: // '('
        case 41: // ')'
        case 42: // '*'
        case 43: // '+'
        case 44: // ','
        case 45: // '-'
        case 46: // '.'
        case 47: // '/'
        case 48: // '0'
        case 49: // '1'
        case 50: // '2'
        case 51: // '3'
        case 52: // '4'
        case 53: // '5'
        case 59: // ';'
        case 60: // '<'
        case 61: // '='
        case 62: // '>'
        case 63: // '?'
        case 64: // '@'
        case 65: // 'A'
        case 66: // 'B'
        case 67: // 'C'
        case 68: // 'D'
        case 69: // 'E'
        case 70: // 'F'
        case 71: // 'G'
        case 72: // 'H'
        case 73: // 'I'
        case 74: // 'J'
        case 75: // 'K'
        case 76: // 'L'
        case 77: // 'M'
        case 78: // 'N'
        case 79: // 'O'
        case 80: // 'P'
        case 81: // 'Q'
        case 82: // 'R'
        case 83: // 'S'
        case 84: // 'T'
        case 85: // 'U'
        case 86: // 'V'
        case 87: // 'W'
        case 88: // 'X'
        case 89: // 'Y'
        case 90: // 'Z'
        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
        case 94: // '^'
        case 95: // '_'
        case 96: // '`'
        case 97: // 'a'
        case 98: // 'b'
        case 99: // 'c'
        case 100: // 'd'
        case 101: // 'e'
        case 102: // 'f'
        case 103: // 'g'
        case 104: // 'h'
        case 105: // 'i'
        case 106: // 'j'
        case 107: // 'k'
        case 108: // 'l'
        case 109: // 'm'
        case 110: // 'n'
        case 111: // 'o'
        case 112: // 'p'
        case 113: // 'q'
        case 114: // 'r'
        case 115: // 's'
        case 116: // 't'
        case 117: // 'u'
        case 118: // 'v'
        case 119: // 'w'
        case 120: // 'x'
        case 121: // 'y'
        case 122: // 'z'
        case 123: // '{'
        case 124: // '|'
        case 125: // '}'
        case 126: // '~'
        case 127: // '\177'
        case 128: 
        case 129: 
        case 130: 
        case 131: 
        case 133: 
        case 134: 
        case 135: 
        case 136: 
        case 137: 
        case 138: 
        case 139: 
        case 140: 
        case 141: 
        case 142: 
        case 143: 
        case 144: 
        case 145: 
        case 146: 
        case 147: 
        case 148: 
        case 149: 
        case 150: 
        case 151: 
        case 152: 
        case 190: 
        case 194: 
        case 195: 
            return true;

        case 172: 
        case 173: 
        case 174: 
        case 175: 
        case 176: 
        case 177: 
        case 191: 
            return false;

        case 16: // '\020'
        case 17: // '\021'
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 22: // '\026'
        case 23: // '\027'
        case 24: // '\030'
        case 25: // '\031'
        case 54: // '6'
        case 55: // '7'
        case 56: // '8'
        case 57: // '9'
        case 58: // ':'
        case 132: 
        case 153: 
        case 154: 
        case 155: 
        case 156: 
        case 157: 
        case 158: 
        case 159: 
        case 160: 
        case 161: 
        case 162: 
        case 163: 
        case 164: 
        case 165: 
        case 166: 
        case 167: 
        case 168: 
        case 169: 
        case 170: 
        case 171: 
        case 178: 
        case 179: 
        case 180: 
        case 181: 
        case 182: 
        case 183: 
        case 184: 
        case 185: 
        case 186: 
        case 187: 
        case 188: 
        case 189: 
        case 192: 
        case 193: 
        default:
            lx.b(false, super.d);
            break;
        }
        return true;
    }

    public boolean a(int i, int k)
    {
        switch(super.d)
        {
        case 59: // ';'
        case 60: // '<'
        case 61: // '='
        case 62: // '>'
        case 63: // '?'
        case 64: // '@'
        case 65: // 'A'
        case 66: // 'B'
        case 67: // 'C'
        case 68: // 'D'
        case 69: // 'E'
        case 70: // 'F'
        case 71: // 'G'
        case 72: // 'H'
        case 73: // 'I'
        case 74: // 'J'
        case 75: // 'K'
        case 76: // 'L'
        case 77: // 'M'
        case 78: // 'N'
        case 79: // 'O'
        case 80: // 'P'
        case 81: // 'Q'
        case 82: // 'R'
        case 83: // 'S'
        case 84: // 'T'
        case 85: // 'U'
        case 86: // 'V'
        case 87: // 'W'
        case 88: // 'X'
        case 194: 
        case 195: 
            return i >= k;

        case 96: // '`'
        case 98: // 'b'
        case 100: // 'd'
        case 102: // 'f'
        case 104: // 'h'
        case 106: // 'j'
        case 108: // 'l'
        case 110: // 'n'
        case 112: // 'p'
        case 114: // 'r'
        case 116: // 't'
        case 118: // 'v'
        case 120: // 'x'
        case 122: // 'z'
        case 124: // '|'
        case 126: // '~'
        case 128: 
        case 130: 
        case 134: 
        case 136: 
        case 137: 
        case 139: 
        case 142: 
        case 144: 
        case 145: 
        case 146: 
        case 147: 
        case 148: 
        case 149: 
        case 150: 
        case 151: 
        case 152: 
        case 190: 
            return i >= k - 1;

        case 97: // 'a'
        case 99: // 'c'
        case 101: // 'e'
        case 103: // 'g'
        case 105: // 'i'
        case 107: // 'k'
        case 109: // 'm'
        case 111: // 'o'
        case 113: // 'q'
        case 115: // 's'
        case 117: // 'u'
        case 119: // 'w'
        case 121: // 'y'
        case 123: // '{'
        case 125: // '}'
        case 127: // '\177'
        case 129: 
        case 131: 
        case 133: 
        case 135: 
        case 138: 
        case 140: 
        case 141: 
        case 143: 
            return i >= k - 2;

        case 172: 
        case 173: 
        case 174: 
        case 175: 
        case 176: 
        case 177: 
        case 191: 
            return true;

        case 0: // '\0'
        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        case 9: // '\t'
        case 10: // '\n'
        case 11: // '\013'
        case 12: // '\f'
        case 13: // '\r'
        case 14: // '\016'
        case 15: // '\017'
        case 26: // '\032'
        case 27: // '\033'
        case 28: // '\034'
        case 29: // '\035'
        case 30: // '\036'
        case 31: // '\037'
        case 32: // ' '
        case 33: // '!'
        case 34: // '"'
        case 35: // '#'
        case 36: // '$'
        case 37: // '%'
        case 38: // '&'
        case 39: // '\''
        case 40: // '('
        case 41: // ')'
        case 42: // '*'
        case 43: // '+'
        case 44: // ','
        case 45: // '-'
        case 46: // '.'
        case 47: // '/'
        case 48: // '0'
        case 49: // '1'
        case 50: // '2'
        case 51: // '3'
        case 52: // '4'
        case 53: // '5'
        case 89: // 'Y'
        case 90: // 'Z'
        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
        case 94: // '^'
        case 95: // '_'
            return false;

        case 16: // '\020'
        case 17: // '\021'
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 22: // '\026'
        case 23: // '\027'
        case 24: // '\030'
        case 25: // '\031'
        case 54: // '6'
        case 55: // '7'
        case 56: // '8'
        case 57: // '9'
        case 58: // ':'
        case 132: 
        case 153: 
        case 154: 
        case 155: 
        case 156: 
        case 157: 
        case 158: 
        case 159: 
        case 160: 
        case 161: 
        case 162: 
        case 163: 
        case 164: 
        case 165: 
        case 166: 
        case 167: 
        case 168: 
        case 169: 
        case 170: 
        case 171: 
        case 178: 
        case 179: 
        case 180: 
        case 181: 
        case 182: 
        case 183: 
        case 184: 
        case 185: 
        case 186: 
        case 187: 
        case 188: 
        case 189: 
        case 192: 
        case 193: 
        default:
            lx.b(false, super.d);
            break;
        }
        return false;
    }

    private sn a(int i, wn awn[], wn awn1[], wn wn1, int k, e1 e1_1)
    {
        wn awn2[] = wn.a(i - 1);
        System.arraycopy(awn, 0, awn2, 0, i - 1);
        int i1 = awn1.length;
        wn awn3[] = wn.a(i1);
        System.arraycopy(awn1, 0, awn3, 0, i1);
        if(awn3[k].equals(wn.o) && (awn3[k - 1].equals(wn.j) || awn3[k - 1].equals(wn.l)))
            awn3[k - 1] = wn.m;
        awn3[k] = wn1;
        boolean flag = false;
        wn wn2 = awn3[k + 1];
        awn3[k + 1] = wn.o;
        if(wn2.equals(wn.j) || wn2.equals(wn.l))
        {
            flag = true;
            awn3[k + 2] = wn.m;
        }
        if(e1_1 != null && !e1_1.get(k) && !e1_1.get(k + 1))
        {
            e1_1 = (e1)e1_1.clone();
            e1_1.set(k);
            e1_1.set(k + 1);
            if(flag)
                e1_1.set(k + 2);
        }
        return new sn(awn2, awn3, e1_1);
    }

    public boolean a(int i)
    {
        switch(super.d)
        {
        case 26: // '\032'
        case 30: // '\036'
        case 34: // '"'
        case 38: // '&'
        case 42: // '*'
            return i == 0;

        case 27: // '\033'
        case 31: // '\037'
        case 35: // '#'
        case 39: // '\''
        case 43: // '+'
            return i == 1;

        case 28: // '\034'
        case 32: // ' '
        case 36: // '$'
        case 40: // '('
        case 44: // ','
            return i == 2;

        case 29: // '\035'
        case 33: // '!'
        case 37: // '%'
        case 41: // ')'
        case 45: // '-'
            return i == 3;

        case 0: // '\0'
        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        case 9: // '\t'
        case 10: // '\n'
        case 11: // '\013'
        case 12: // '\f'
        case 13: // '\r'
        case 14: // '\016'
        case 15: // '\017'
        case 46: // '.'
        case 47: // '/'
        case 48: // '0'
        case 49: // '1'
        case 50: // '2'
        case 51: // '3'
        case 52: // '4'
        case 53: // '5'
        case 59: // ';'
        case 60: // '<'
        case 61: // '='
        case 62: // '>'
        case 63: // '?'
        case 64: // '@'
        case 65: // 'A'
        case 66: // 'B'
        case 67: // 'C'
        case 68: // 'D'
        case 69: // 'E'
        case 70: // 'F'
        case 71: // 'G'
        case 72: // 'H'
        case 73: // 'I'
        case 74: // 'J'
        case 75: // 'K'
        case 76: // 'L'
        case 77: // 'M'
        case 78: // 'N'
        case 79: // 'O'
        case 80: // 'P'
        case 81: // 'Q'
        case 82: // 'R'
        case 83: // 'S'
        case 84: // 'T'
        case 85: // 'U'
        case 86: // 'V'
        case 87: // 'W'
        case 88: // 'X'
        case 89: // 'Y'
        case 90: // 'Z'
        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
        case 94: // '^'
        case 95: // '_'
        case 96: // '`'
        case 97: // 'a'
        case 98: // 'b'
        case 99: // 'c'
        case 100: // 'd'
        case 101: // 'e'
        case 102: // 'f'
        case 103: // 'g'
        case 104: // 'h'
        case 105: // 'i'
        case 106: // 'j'
        case 107: // 'k'
        case 108: // 'l'
        case 109: // 'm'
        case 110: // 'n'
        case 111: // 'o'
        case 112: // 'p'
        case 113: // 'q'
        case 114: // 'r'
        case 115: // 's'
        case 116: // 't'
        case 117: // 'u'
        case 118: // 'v'
        case 119: // 'w'
        case 120: // 'x'
        case 121: // 'y'
        case 122: // 'z'
        case 123: // '{'
        case 124: // '|'
        case 125: // '}'
        case 126: // '~'
        case 127: // '\177'
        case 128: 
        case 129: 
        case 130: 
        case 131: 
        case 133: 
        case 134: 
        case 135: 
        case 136: 
        case 137: 
        case 138: 
        case 139: 
        case 140: 
        case 141: 
        case 142: 
        case 143: 
        case 144: 
        case 145: 
        case 146: 
        case 147: 
        case 148: 
        case 149: 
        case 150: 
        case 151: 
        case 152: 
        case 172: 
        case 173: 
        case 174: 
        case 175: 
        case 176: 
        case 177: 
        case 190: 
        case 191: 
        case 194: 
        case 195: 
            return false;

        case 16: // '\020'
        case 17: // '\021'
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 22: // '\026'
        case 23: // '\027'
        case 24: // '\030'
        case 25: // '\031'
        case 54: // '6'
        case 55: // '7'
        case 56: // '8'
        case 57: // '9'
        case 58: // ':'
        case 132: 
        case 153: 
        case 154: 
        case 155: 
        case 156: 
        case 157: 
        case 158: 
        case 159: 
        case 160: 
        case 161: 
        case 162: 
        case 163: 
        case 164: 
        case 165: 
        case 166: 
        case 167: 
        case 168: 
        case 169: 
        case 170: 
        case 171: 
        case 178: 
        case 179: 
        case 180: 
        case 181: 
        case 182: 
        case 183: 
        case 184: 
        case 185: 
        case 186: 
        case 187: 
        case 188: 
        case 189: 
        case 192: 
        case 193: 
        default:
            lx.b(false, super.d);
            break;
        }
        return false;
    }

    public final boolean c()
    {
        switch(super.d)
        {
        case 172: 
        case 173: 
        case 174: 
        case 175: 
        case 176: 
        case 177: 
        case 191: 
            return true;

        case 0: // '\0'
        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        case 9: // '\t'
        case 10: // '\n'
        case 11: // '\013'
        case 12: // '\f'
        case 13: // '\r'
        case 14: // '\016'
        case 15: // '\017'
        case 26: // '\032'
        case 27: // '\033'
        case 28: // '\034'
        case 29: // '\035'
        case 30: // '\036'
        case 31: // '\037'
        case 32: // ' '
        case 33: // '!'
        case 34: // '"'
        case 35: // '#'
        case 36: // '$'
        case 37: // '%'
        case 38: // '&'
        case 39: // '\''
        case 40: // '('
        case 41: // ')'
        case 42: // '*'
        case 43: // '+'
        case 44: // ','
        case 45: // '-'
        case 46: // '.'
        case 47: // '/'
        case 48: // '0'
        case 49: // '1'
        case 50: // '2'
        case 51: // '3'
        case 52: // '4'
        case 53: // '5'
        case 59: // ';'
        case 60: // '<'
        case 61: // '='
        case 62: // '>'
        case 63: // '?'
        case 64: // '@'
        case 65: // 'A'
        case 66: // 'B'
        case 67: // 'C'
        case 68: // 'D'
        case 69: // 'E'
        case 70: // 'F'
        case 71: // 'G'
        case 72: // 'H'
        case 73: // 'I'
        case 74: // 'J'
        case 75: // 'K'
        case 76: // 'L'
        case 77: // 'M'
        case 78: // 'N'
        case 79: // 'O'
        case 80: // 'P'
        case 81: // 'Q'
        case 82: // 'R'
        case 83: // 'S'
        case 84: // 'T'
        case 85: // 'U'
        case 86: // 'V'
        case 87: // 'W'
        case 88: // 'X'
        case 89: // 'Y'
        case 90: // 'Z'
        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
        case 94: // '^'
        case 95: // '_'
        case 96: // '`'
        case 97: // 'a'
        case 98: // 'b'
        case 99: // 'c'
        case 100: // 'd'
        case 101: // 'e'
        case 102: // 'f'
        case 103: // 'g'
        case 104: // 'h'
        case 105: // 'i'
        case 106: // 'j'
        case 107: // 'k'
        case 108: // 'l'
        case 109: // 'm'
        case 110: // 'n'
        case 111: // 'o'
        case 112: // 'p'
        case 113: // 'q'
        case 114: // 'r'
        case 115: // 's'
        case 116: // 't'
        case 117: // 'u'
        case 118: // 'v'
        case 119: // 'w'
        case 120: // 'x'
        case 121: // 'y'
        case 122: // 'z'
        case 123: // '{'
        case 124: // '|'
        case 125: // '}'
        case 126: // '~'
        case 127: // '\177'
        case 128: 
        case 129: 
        case 130: 
        case 131: 
        case 133: 
        case 134: 
        case 135: 
        case 136: 
        case 137: 
        case 138: 
        case 139: 
        case 140: 
        case 141: 
        case 142: 
        case 143: 
        case 144: 
        case 145: 
        case 146: 
        case 147: 
        case 148: 
        case 149: 
        case 150: 
        case 151: 
        case 152: 
        case 190: 
        case 194: 
        case 195: 
            return false;

        case 16: // '\020'
        case 17: // '\021'
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 22: // '\026'
        case 23: // '\027'
        case 24: // '\030'
        case 25: // '\031'
        case 54: // '6'
        case 55: // '7'
        case 56: // '8'
        case 57: // '9'
        case 58: // ':'
        case 132: 
        case 153: 
        case 154: 
        case 155: 
        case 156: 
        case 157: 
        case 158: 
        case 159: 
        case 160: 
        case 161: 
        case 162: 
        case 163: 
        case 164: 
        case 165: 
        case 166: 
        case 167: 
        case 168: 
        case 169: 
        case 170: 
        case 171: 
        case 178: 
        case 179: 
        case 180: 
        case 181: 
        case 182: 
        case 183: 
        case 184: 
        case 185: 
        case 186: 
        case 187: 
        case 188: 
        case 189: 
        case 192: 
        case 193: 
        default:
            lx.b(false, super.d);
            break;
        }
        return false;
    }

    public final boolean b(int i)
    {
        switch(super.d)
        {
        case 59: // ';'
        case 63: // '?'
        case 67: // 'C'
        case 71: // 'G'
        case 75: // 'K'
            return i == 0;

        case 60: // '<'
        case 64: // '@'
        case 68: // 'D'
        case 72: // 'H'
        case 76: // 'L'
            return i == 1;

        case 61: // '='
        case 65: // 'A'
        case 69: // 'E'
        case 73: // 'I'
        case 77: // 'M'
            return i == 2;

        case 62: // '>'
        case 66: // 'B'
        case 70: // 'F'
        case 74: // 'J'
        case 78: // 'N'
            return i == 3;

        case 0: // '\0'
        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        case 9: // '\t'
        case 10: // '\n'
        case 11: // '\013'
        case 12: // '\f'
        case 13: // '\r'
        case 14: // '\016'
        case 15: // '\017'
        case 26: // '\032'
        case 27: // '\033'
        case 28: // '\034'
        case 29: // '\035'
        case 30: // '\036'
        case 31: // '\037'
        case 32: // ' '
        case 33: // '!'
        case 34: // '"'
        case 35: // '#'
        case 36: // '$'
        case 37: // '%'
        case 38: // '&'
        case 39: // '\''
        case 40: // '('
        case 41: // ')'
        case 42: // '*'
        case 43: // '+'
        case 44: // ','
        case 45: // '-'
        case 46: // '.'
        case 47: // '/'
        case 48: // '0'
        case 49: // '1'
        case 50: // '2'
        case 51: // '3'
        case 52: // '4'
        case 53: // '5'
        case 79: // 'O'
        case 80: // 'P'
        case 81: // 'Q'
        case 82: // 'R'
        case 83: // 'S'
        case 84: // 'T'
        case 85: // 'U'
        case 86: // 'V'
        case 87: // 'W'
        case 88: // 'X'
        case 89: // 'Y'
        case 90: // 'Z'
        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
        case 94: // '^'
        case 95: // '_'
        case 96: // '`'
        case 97: // 'a'
        case 98: // 'b'
        case 99: // 'c'
        case 100: // 'd'
        case 101: // 'e'
        case 102: // 'f'
        case 103: // 'g'
        case 104: // 'h'
        case 105: // 'i'
        case 106: // 'j'
        case 107: // 'k'
        case 108: // 'l'
        case 109: // 'm'
        case 110: // 'n'
        case 111: // 'o'
        case 112: // 'p'
        case 113: // 'q'
        case 114: // 'r'
        case 115: // 's'
        case 116: // 't'
        case 117: // 'u'
        case 118: // 'v'
        case 119: // 'w'
        case 120: // 'x'
        case 121: // 'y'
        case 122: // 'z'
        case 123: // '{'
        case 124: // '|'
        case 125: // '}'
        case 126: // '~'
        case 127: // '\177'
        case 128: 
        case 129: 
        case 130: 
        case 131: 
        case 133: 
        case 134: 
        case 135: 
        case 136: 
        case 137: 
        case 138: 
        case 139: 
        case 140: 
        case 141: 
        case 142: 
        case 143: 
        case 144: 
        case 145: 
        case 146: 
        case 147: 
        case 148: 
        case 149: 
        case 150: 
        case 151: 
        case 152: 
        case 172: 
        case 173: 
        case 174: 
        case 175: 
        case 176: 
        case 177: 
        case 190: 
        case 191: 
        case 194: 
        case 195: 
            return false;

        case 16: // '\020'
        case 17: // '\021'
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 22: // '\026'
        case 23: // '\027'
        case 24: // '\030'
        case 25: // '\031'
        case 54: // '6'
        case 55: // '7'
        case 56: // '8'
        case 57: // '9'
        case 58: // ':'
        case 132: 
        case 153: 
        case 154: 
        case 155: 
        case 156: 
        case 157: 
        case 158: 
        case 159: 
        case 160: 
        case 161: 
        case 162: 
        case 163: 
        case 164: 
        case 165: 
        case 166: 
        case 167: 
        case 168: 
        case 169: 
        case 170: 
        case 171: 
        case 178: 
        case 179: 
        case 180: 
        case 181: 
        case 182: 
        case 183: 
        case 184: 
        case 185: 
        case 186: 
        case 187: 
        case 188: 
        case 189: 
        case 192: 
        case 193: 
        default:
            lx.b(false, super.d);
            break;
        }
        return false;
    }

    public void a(PrintWriter printwriter, StringBuffer stringbuffer, int i)
    {
        StringBuffer stringbuffer1 = new StringBuffer(100);
        String s = kd.h(super.d);
        stringbuffer1.append(s);
        String s1 = kd.e(super.d);
        if(s1 != null)
            stringbuffer1.append("\t" + s1);
        printwriter.println(stringbuffer.toString() + stringbuffer.toString() + stringbuffer1);
    }

    public int b(int i, int k)
    {
        int i1 = i - 1;
        switch(super.d)
        {
        case 89: // 'Y'
            if(k == i1)
                return k - 1;
            else
                return k;

        case 90: // 'Z'
            if(k == i1 || k == i1 - 1)
                return k - 1;
            if(k == i1 - 2)
                return k + 1;
            else
                return k;

        case 91: // '['
            if(k == i1 || k == i1 - 1 || k == i1 - 2)
                return k - 1;
            if(k == i1 - 3)
                return k + 2;
            else
                return k;

        case 92: // '\\'
            if(k == i1 || k == i1 - 1)
                return k - 2;
            else
                return k;

        case 93: // ']'
            if(k == i1 || k == i1 - 1 || k == i1 - 2)
                return k - 2;
            if(k == i1 - 3 || k == i1 - 4)
                return k + 1;
            else
                return k;

        case 94: // '^'
            if(k == i1 || k == i1 - 1 || k == i1 - 2 || k == i1 - 3)
                return k - 2;
            if(k == i1 - 4 || k == i1 - 5)
                return k + 2;
            else
                return k;

        case 95: // '_'
            if(k == i1)
                return i1 - 1;
            if(k == i1 - 1)
                return i1;
            else
                return k;

        case 87: // 'W'
        case 88: // 'X'
            lx.b(k <= i1, k + " " + i1 + " " + super.d);
            return k;
        }
        lx.b(false, super.d + " " + e());
        return k;
    }

    public int[] d(int i, int k)
    {
        int i1 = i - 1;
        switch(super.d)
        {
        case 89: // 'Y'
            if(k == i1 - 1)
            {
                int ai[] = new int[2];
                ai[0] = k;
                ai[1] = i1;
                return ai;
            }
            break;

        case 90: // 'Z'
            if(k == i1 - 1)
            {
                int ai1[] = new int[2];
                ai1[0] = i1 - 2;
                ai1[1] = i1;
                return ai1;
            }
            if(k == i1 - 2)
            {
                int ai2[] = new int[1];
                ai2[0] = i1 - 1;
                return ai2;
            }
            break;

        case 91: // '['
            if(k == i1 - 1)
            {
                int ai3[] = new int[2];
                ai3[0] = i1 - 3;
                ai3[1] = i1;
                return ai3;
            }
            if(k == i1 - 2 || k == i1 - 3)
            {
                int ai4[] = new int[1];
                ai4[0] = k + 1;
                return ai4;
            }
            break;

        case 92: // '\\'
            if(k == i1 - 2 || k == i1 - 3)
            {
                int ai5[] = new int[2];
                ai5[0] = k;
                ai5[1] = k + 2;
                return ai5;
            }
            break;

        case 93: // ']'
            if(k == i1 - 2 || k == i1 - 3)
            {
                int ai6[] = new int[2];
                ai6[0] = k - 1;
                ai6[1] = k + 2;
                return ai6;
            }
            if(k == i1 - 4)
            {
                int ai7[] = new int[1];
                ai7[0] = k + 2;
                return ai7;
            }
            break;

        case 94: // '^'
            if(k == i1 - 2 || k == i1 - 3)
            {
                int ai8[] = new int[2];
                ai8[0] = k - 2;
                ai8[1] = k + 2;
                return ai8;
            }
            if(k == i1 - 4 || k == i1 - 5)
            {
                int ai9[] = new int[1];
                ai9[0] = k - 2;
                return ai9;
            }
            break;

        case 95: // '_'
            if(k == i1)
            {
                int ai10[] = new int[1];
                ai10[0] = i1 - 1;
                return ai10;
            }
            if(k == i1 - 1)
            {
                int ai11[] = new int[1];
                ai11[0] = i1;
                return ai11;
            }
            break;

        case 87: // 'W'
        case 88: // 'X'
            if(k > i1)
            {
                return new int[0];
            } else
            {
                int ai12[] = new int[1];
                ai12[0] = k;
                return ai12;
            }

        default:
            lx.b(false, super.d);
            return null;
        }
        int ai13[] = new int[1];
        ai13[0] = k;
        return ai13;
    }

    public static de n(int i)
    {
        de de1 = g[i];
        return de1;
    }

    public boolean j()
    {
        switch(super.d)
        {
        case 59: // ';'
        case 60: // '<'
        case 61: // '='
        case 62: // '>'
        case 63: // '?'
        case 64: // '@'
        case 65: // 'A'
        case 66: // 'B'
        case 67: // 'C'
        case 68: // 'D'
        case 69: // 'E'
        case 70: // 'F'
        case 71: // 'G'
        case 72: // 'H'
        case 73: // 'I'
        case 74: // 'J'
        case 75: // 'K'
        case 76: // 'L'
        case 77: // 'M'
        case 78: // 'N'
            return true;
        }
        return false;
    }

    public boolean l()
    {
        switch(super.d)
        {
        case 172: 
        case 173: 
        case 174: 
        case 175: 
        case 176: 
        case 177: 
            return true;
        }
        return false;
    }

    public boolean m()
    {
        switch(super.d)
        {
        case 87: // 'W'
        case 88: // 'X'
        case 89: // 'Y'
        case 90: // 'Z'
        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
        case 94: // '^'
        case 95: // '_'
            return true;
        }
        return false;
    }

    private sn b(int i, wn awn[], wn awn1[], wn wn1, int k, e1 e1_1)
    {
        wn awn2[];
label0:
        {
            awn2 = wn.a(i + 1);
            System.arraycopy(awn, 0, awn2, 0, i);
            awn2[i] = wn1;
            if(e1_1 == null)
                break label0;
            if(wn1.equals(wn.l) || wn1.equals(wn.j))
            {
                if(e1_1.get(k) && e1_1.get(k + 1))
                    break label0;
                e1_1 = (e1)e1_1.clone();
                e1_1.set(k);
                e1_1.set(k + 1);
                if(kd.e == 0)
                    break label0;
            }
            if(!e1_1.get(k))
            {
                e1_1 = (e1)e1_1.clone();
                e1_1.set(k);
            }
        }
        return new sn(awn2, awn1, e1_1);
    }

    private sn a(int i, wn awn[], wn awn1[], wn wn1, e1 e1_1)
    {
        wn awn2[] = wn.a(i + 1);
        System.arraycopy(awn, 0, awn2, 0, i);
        awn2[i] = wn1;
        return new sn(awn2, awn1, e1_1);
    }

    public boolean o()
    {
        switch(super.d)
        {
        case 0: // '\0'
        case 59: // ';'
        case 60: // '<'
        case 61: // '='
        case 62: // '>'
        case 63: // '?'
        case 64: // '@'
        case 65: // 'A'
        case 66: // 'B'
        case 67: // 'C'
        case 68: // 'D'
        case 69: // 'E'
        case 70: // 'F'
        case 71: // 'G'
        case 72: // 'H'
        case 73: // 'I'
        case 74: // 'J'
        case 75: // 'K'
        case 76: // 'L'
        case 77: // 'M'
        case 78: // 'N'
        case 79: // 'O'
        case 80: // 'P'
        case 81: // 'Q'
        case 82: // 'R'
        case 83: // 'S'
        case 84: // 'T'
        case 85: // 'U'
        case 86: // 'V'
        case 87: // 'W'
        case 88: // 'X'
        case 89: // 'Y'
        case 90: // 'Z'
        case 91: // '['
        case 92: // '\\'
        case 93: // ']'
        case 94: // '^'
        case 95: // '_'
        case 172: 
        case 173: 
        case 174: 
        case 175: 
        case 176: 
        case 177: 
        case 191: 
        case 194: 
        case 195: 
            return false;

        case 1: // '\001'
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        case 8: // '\b'
        case 9: // '\t'
        case 10: // '\n'
        case 11: // '\013'
        case 12: // '\f'
        case 13: // '\r'
        case 14: // '\016'
        case 15: // '\017'
        case 26: // '\032'
        case 27: // '\033'
        case 28: // '\034'
        case 29: // '\035'
        case 30: // '\036'
        case 31: // '\037'
        case 32: // ' '
        case 33: // '!'
        case 34: // '"'
        case 35: // '#'
        case 36: // '$'
        case 37: // '%'
        case 38: // '&'
        case 39: // '\''
        case 40: // '('
        case 41: // ')'
        case 42: // '*'
        case 43: // '+'
        case 44: // ','
        case 45: // '-'
        case 46: // '.'
        case 47: // '/'
        case 48: // '0'
        case 49: // '1'
        case 50: // '2'
        case 51: // '3'
        case 52: // '4'
        case 53: // '5'
        case 96: // '`'
        case 97: // 'a'
        case 98: // 'b'
        case 99: // 'c'
        case 100: // 'd'
        case 101: // 'e'
        case 102: // 'f'
        case 103: // 'g'
        case 104: // 'h'
        case 105: // 'i'
        case 106: // 'j'
        case 107: // 'k'
        case 108: // 'l'
        case 109: // 'm'
        case 110: // 'n'
        case 111: // 'o'
        case 112: // 'p'
        case 113: // 'q'
        case 114: // 'r'
        case 115: // 's'
        case 116: // 't'
        case 117: // 'u'
        case 118: // 'v'
        case 119: // 'w'
        case 120: // 'x'
        case 121: // 'y'
        case 122: // 'z'
        case 123: // '{'
        case 124: // '|'
        case 125: // '}'
        case 126: // '~'
        case 127: // '\177'
        case 128: 
        case 129: 
        case 130: 
        case 131: 
        case 133: 
        case 134: 
        case 135: 
        case 136: 
        case 137: 
        case 138: 
        case 139: 
        case 140: 
        case 141: 
        case 142: 
        case 143: 
        case 144: 
        case 145: 
        case 146: 
        case 147: 
        case 148: 
        case 149: 
        case 150: 
        case 151: 
        case 152: 
        case 190: 
            return true;

        case 16: // '\020'
        case 17: // '\021'
        case 18: // '\022'
        case 19: // '\023'
        case 20: // '\024'
        case 21: // '\025'
        case 22: // '\026'
        case 23: // '\027'
        case 24: // '\030'
        case 25: // '\031'
        case 54: // '6'
        case 55: // '7'
        case 56: // '8'
        case 57: // '9'
        case 58: // ':'
        case 132: 
        case 153: 
        case 154: 
        case 155: 
        case 156: 
        case 157: 
        case 158: 
        case 159: 
        case 160: 
        case 161: 
        case 162: 
        case 163: 
        case 164: 
        case 165: 
        case 166: 
        case 167: 
        case 168: 
        case 169: 
        case 170: 
        case 171: 
        case 178: 
        case 179: 
        case 180: 
        case 181: 
        case 182: 
        case 183: 
        case 184: 
        case 185: 
        case 186: 
        case 187: 
        case 188: 
        case 189: 
        case 192: 
        case 193: 
        default:
            lx.b(false, super.d);
            break;
        }
        return false;
    }

    private sn c(int i, wn awn[], wn awn1[], wn wn1, int k, e1 e1_1)
    {
        wn awn2[] = wn.a(i - 1);
        System.arraycopy(awn, 0, awn2, 0, i - 1);
        int i1 = awn1.length;
        wn awn3[] = wn.a(i1);
        System.arraycopy(awn1, 0, awn3, 0, i1);
        boolean flag = false;
        if(awn3[k].equals(wn.o) && (awn3[k - 1].equals(wn.j) || awn3[k - 1].equals(wn.l)))
        {
            flag = true;
            awn3[k - 1] = wn.m;
        }
        boolean flag1 = false;
        if(awn3[k].equals(wn.j) || awn3[k].equals(wn.l))
        {
            flag1 = true;
            awn3[k + 1] = wn.m;
        }
        awn3[k] = wn1;
        if(e1_1 != null && !e1_1.get(k))
        {
            e1_1 = (e1)e1_1.clone();
            e1_1.set(k);
            if(flag)
                e1_1.set(k - 1);
            if(flag1)
                e1_1.set(k + 1);
        }
        return new sn(awn2, awn3, e1_1);
    }

    private static String z(char[] chs) {
        byte key = 0;
        for (int i = 0; i < chs.length; i++) {
            switch (i % 5) {
                case 0:
                    key =0x4b;
                    break;
                case 1:
                    key =71;
                    break;
                case 2:
                    key =118;
                    break;
                case 3:
                    key =41;
                    break;
                case 4:
                    key =103;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static
    {
        String as[];
        as = new String[3];
        as[0] = z("\006\"\002A\b/g\033H\036k%\023\t\004$5\004\\\027?g^kN".toCharArray());
        as[1] = z("\006\"\002A\b/g\033H\036k%\023\t\004$5\004\\\027?g^jN".toCharArray());
        as[2] = z("\006\"\002A\b/g\033H\036k%\023\t\004$5\004\\\027?g^hN".toCharArray());
        z = as;
        
        g = new de[202];
        try
        {
            g[0] = new de(0);
            g[1] = new de(1);
            g[2] = new de(2);
            g[3] = new de(3);
            g[4] = new de(4);
            g[5] = new de(5);
            g[6] = new de(6);
            g[7] = new de(7);
            g[8] = new de(8);
            g[9] = new de(9);
            g[10] = new de(10);
            g[11] = new de(11);
            g[12] = new de(12);
            g[13] = new de(13);
            g[14] = new de(14);
            g[15] = new de(15);
            g[26] = new de(26);
            g[27] = new de(27);
            g[28] = new de(28);
            g[29] = new de(29);
            g[30] = new de(30);
            g[31] = new de(31);
            g[32] = new de(32);
            g[33] = new de(33);
            g[34] = new de(34);
            g[35] = new de(35);
            g[36] = new de(36);
            g[37] = new de(37);
            g[38] = new de(38);
            g[39] = new de(39);
            g[40] = new de(40);
            g[41] = new de(41);
            g[42] = new de(42);
            g[43] = new de(43);
            g[44] = new de(44);
            g[45] = new de(45);
            g[46] = new de(46);
            g[47] = new de(47);
            g[48] = new de(48);
            g[49] = new de(49);
            g[50] = new de(50);
            g[51] = new de(51);
            g[52] = new de(52);
            g[53] = new de(53);
            g[59] = new de(59);
            g[60] = new de(60);
            g[61] = new de(61);
            g[62] = new de(62);
            g[63] = new de(63);
            g[64] = new de(64);
            g[65] = new de(65);
            g[66] = new de(66);
            g[67] = new de(67);
            g[68] = new de(68);
            g[69] = new de(69);
            g[70] = new de(70);
            g[71] = new de(71);
            g[72] = new de(72);
            g[73] = new de(73);
            g[74] = new de(74);
            g[75] = new de(75);
            g[76] = new de(76);
            g[77] = new de(77);
            g[78] = new de(78);
            g[79] = new de(79);
            g[80] = new de(80);
            g[81] = new de(81);
            g[82] = new de(82);
            g[83] = new de(83);
            g[84] = new de(84);
            g[85] = new de(85);
            g[86] = new de(86);
            g[87] = new de(87);
            g[88] = new de(88);
            g[89] = new de(89);
            g[90] = new de(90);
            g[91] = new de(91);
            g[92] = new de(92);
            g[93] = new de(93);
            g[94] = new de(94);
            g[95] = new de(95);
            g[96] = new de(96);
            g[97] = new de(97);
            g[98] = new de(98);
            g[99] = new de(99);
            g[100] = new de(100);
            g[101] = new de(101);
            g[102] = new de(102);
            g[103] = new de(103);
            g[104] = new de(104);
            g[105] = new de(105);
            g[106] = new de(106);
            g[107] = new de(107);
            g[108] = new de(108);
            g[109] = new de(109);
            g[110] = new de(110);
            g[111] = new de(111);
            g[112] = new de(112);
            g[113] = new de(113);
            g[114] = new de(114);
            g[115] = new de(115);
            g[116] = new de(116);
            g[117] = new de(117);
            g[118] = new de(118);
            g[119] = new de(119);
            g[120] = new de(120);
            g[121] = new de(121);
            g[122] = new de(122);
            g[123] = new de(123);
            g[124] = new de(124);
            g[125] = new de(125);
            g[126] = new de(126);
            g[127] = new de(127);
            g[128] = new de(128);
            g[129] = new de(129);
            g[130] = new de(130);
            g[131] = new de(131);
            g[133] = new de(133);
            g[134] = new de(134);
            g[135] = new de(135);
            g[136] = new de(136);
            g[137] = new de(137);
            g[138] = new de(138);
            g[139] = new de(139);
            g[140] = new de(140);
            g[141] = new de(141);
            g[142] = new de(142);
            g[143] = new de(143);
            g[144] = new de(144);
            g[145] = new de(145);
            g[146] = new de(146);
            g[147] = new de(147);
            g[148] = new de(148);
            g[149] = new de(149);
            g[150] = new de(150);
            g[151] = new de(151);
            g[152] = new de(152);
            g[172] = new de(172);
            g[173] = new de(173);
            g[174] = new de(174);
            g[175] = new de(175);
            g[176] = new de(176);
            g[177] = new de(177);
            g[190] = new de(190);
            g[191] = new de(191);
            g[194] = new de(194);
            g[195] = new de(195);
        }
        catch(tb _ex) { }
        catch(IOException _ex) { }
    }
}